package com.mida.app.report.vo.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("患者信息vo")
public class PatientPageInfoVo implements Serializable {

    /**
     * 预约角色标识
     */
    @ApiModelProperty(name = "customerSoid", value = "预约角色标识", dataType = "String")
    private String customerSoid;
    /**
     * 预约人标识
     */
    @ApiModelProperty(name = "apntPersonSoid", value = "预约人标识", dataType = "String")
    private String apntPersonSoid;

    /**
     * 姓名
     */
    @ApiModelProperty(name = "personName", value = "姓名", dataType = "String")
    private String personName;

    /**
     * 年龄
     */
    @ApiModelProperty(name = "age", value = "年龄", dataType = "String")
    private String age;

    /**
     * 性别代码
     */
    @ApiModelProperty(name = "genderCode", value = "性别代码", dataType = "String")
    private String genderCode;
    /**
     * 性别名称
     */
    @ApiModelProperty(name = "genderName", value = "性别名称", dataType = "String")
    private String genderName;

    /**
     * 出生日期
     */
    @ApiModelProperty(name = "birthDate", value = "出生日期", dataType = "String", example = "2021-01-01")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private String birthDate;

    /**
     * 就诊卡号
     */
    @ApiModelProperty(name = "clinicCardNo", value = "就诊卡号", dataType = "String")
    private String clinicCardNo;

    /**
     * 就诊卡类型
     */
    @ApiModelProperty(name = "clinicCardType", value = "就诊卡类型", dataType = "String")
    private String clinicCardType;

    /**
     * 证件类型
     */
    @ApiModelProperty(name = "idCardType", value = "证件类型", dataType = "String")
    private String idCardType;

    /**
     * 证件号码
     */
    @ApiModelProperty(name = "idCardNo", value = "证件号码", dataType = "String")
    private String idCardNo;

    /**
     * 门诊号
     */
    @ApiModelProperty(name = "outpatientNo", value = "门诊号", dataType = "String")
    private String outpatientNo;


    /**
     * 影像号
     */
    @ApiModelProperty(name = "stPatientId", value = "影像号", dataType = "String")
    private String stPatientId;


    /**
     * 联系电话
     */
    @ApiModelProperty(name = "phoneNo", value = "联系电话", dataType = "String")
    private String phoneNo;

    /**
     * 联系地址
     */
    @ApiModelProperty(name = "address", value = "联系地址", dataType = "String")
    private String address;

    /**
     * 体重
     */
    @ApiModelProperty(name = "weight", value = "体重", dataType = "String")
    private String weight;

    /**
     * enconterSoid
     */
    @ApiModelProperty(name = "enconterSoid", value = "enconterSoid", dataType = "String")
    private String enconterSoid;


    public static PatientPageInfoVo buildVo() {
        return PatientPageInfoVo.builder()
                .apntPersonSoid("")
                .birthDate("2006-05-10 10:00:06")
                .genderName("女")
                .age("15")
                .clinicCardNo("")
                .clinicCardType("")
                .customerSoid("")
                .genderCode("376")
                .idCardNo("420712200611084312")
                .idCardType("")
                .outpatientNo("YX100229")
                .personName("罗梓康")
                .stPatientId("YX100298")
                .phoneNo("13651734291")
                .address("上海市徐汇区龙华中路131号")
                .build();
    }
}
